package com.qf.service.impl;

import com.qf.dao.AdminDao;
import com.qf.service.AdminService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * @Description: 公用常量
 * @Data: 2022/8/30 11:09
 * @Pacakge: com.qf.service.impl
 * @ClassName: AdminServiceImpl
 * @Author: fan
 */
@Service("adminService")
public class AdminServiceImpl implements AdminService {
    /*
    @Autowired-->表示根据类型自动注入
                 如果有唯一匹配时,就直接注入;
                 如果有多个匹配时,首先按照类型筛选出来匹配的对象
                 然后使用变量名称作为bean的id，然后继续筛选。
                 如果两次筛选后有唯一匹配的，可以注入成功；否则失败。
                 此时需要配合@Qualifier注解同时使用
                 通过bean的类型注入
    @Qualifier-->表示按照类型注入,根据bean的名称来注入,不能单独使用,必须配合@Autowried使用
    @Resource-->表述按照名称注入,不是Spring注解,是jdk自带注解,根据对应的名称注入bean,通过bean名称注入;
                对于同一个类型的多个bean,不用配合其他注解,直接通过其名称直接注入
     */
    @Autowired
    @Qualifier("adminDaoImpl01")
//    @Resource(name = "adminDaoImpl")
    private AdminDao adminDao;
    @Override
    public void addAdmin() {
      /*  ApplicationContext applicationContext
                = new ClassPathXmlApplicationContext("bean.xml");
        AdminDao adminDao = (AdminDao) applicationContext.getBean("adminDao");*/
        adminDao.addAdmin();
    }
}
